package top;

/**
 * @author chenyw
 * @date 2022/7/7 23:12
 * @description     最优解使用贪心
 */
public class Top55canJump {
    //动归
//    public boolean canJump(int[] nums) {
//        int n = nums.length;
//        boolean[] isJump = new boolean[n];
//        isJump[0] = true;
//        for (int i = 1; i < n; i++) {
//            for (int j = i -1; j >= 0; j--) {
//                if (isJump[j] == true && (nums[j] + j) >= i ) {
//                    isJump[i] = true;
//                }
//            }
//        }
//        return isJump[n - 1];
//    }
    //贪心
    public boolean canJump(int[] nums) {
        int max = 0;
        for (int i = 0;i < nums.length; i++) {
            if (i <= max) {
                max = Math.max(max, (i + nums[i]));
                if (max >= nums.length - 1) {
                    return true;
                }
            }
        }
        return false;
    }
}
